package ma.ac.onousc.gestionfi.EngagementPaiement.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;

@Entity
@NamedQuery(name = "Contrat.findByRB", query = "select ct from Contrat ct where ct.rubriqueBudgetaire=:rb")
@DiscriminatorValue("Contrat")
public class Contrat extends Engagement implements Serializable {

	private static final long serialVersionUID = 1L;
	private String objetContrat;
	private int dureeContrat;
	private String beneficiaireContrat;

	@ManyToOne(fetch = FetchType.EAGER)
	private Fournisseur fournisseur;



	public Contrat(String objetContrat, int dureeContrat,
			String beneficiaireContrat) {
		super();
		this.objetContrat = objetContrat;
		this.dureeContrat = dureeContrat;
		this.beneficiaireContrat = beneficiaireContrat;
	}

	public Contrat() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Contrat(String numEngagement, Date dateEngagement,
			double montantEngagement, String typeEngagement) {
		super(numEngagement, dateEngagement, montantEngagement, typeEngagement);
		// TODO Auto-generated constructor stub
	}

	public String getObjetContrat() {
		return objetContrat;
	}

	public void setObjetContrat(String objetContrat) {
		this.objetContrat = objetContrat;
	}

	public int getDureeContrat() {
		return dureeContrat;
	}

	public void setDureeContrat(int dureeContrat) {
		this.dureeContrat = dureeContrat;
	}

	public String getBeneficiaireContrat() {
		return beneficiaireContrat;
	}

	public void setBeneficiaireContrat(String beneficiaireContrat) {
		this.beneficiaireContrat = beneficiaireContrat;
	}

	public Fournisseur getFournisseur() {
		return fournisseur;
	}

	public void setFournisseur(Fournisseur fournisseur) {
		this.fournisseur = fournisseur;
	}

}
